package com.dz.risk.pojo.model;

import com.dz.risk.pojo.domain.ReportFormsEntity;
import com.dz.risk.validation.Update;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;

/**
 * 公式模型
 *
 * @author Doke
 * @date 2021/6/7 13:43
 */
@Data
@ApiModel("公式扩展模型")
public class FormulaExtModel implements Serializable {

    @NotBlank(message = "报表数据值Id不能为空", groups = {Update.class})
    @ApiModelProperty(name = "reportFormsDataValueId", value = "报表数据值ID")
    private String reportFormsDataValueId;

    /**
     * 单元格公式
     */
    @ApiModelProperty(value = "单元格公式")
    private FormulaModel cellFormula;

    /**
     * 开始时间
     */
    @ApiModelProperty(value = "开始时间(yyyy-MM-dd)")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @NotNull(message = "模板开始时间不能为空",groups = {Update.class})
    private Date beginDate;

    /**
     * 结束时间
     */
    @ApiModelProperty(value = "结束时间(yyyy-MM-dd)")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @NotNull(message = "模板结束时间不能为空",groups = {Update.class})
    private Date endDate;

    /**
     * 是否验证公式：false 否，true 是
     */
    @ApiModelProperty(value = "是否验证公式：false 否，true 是")
    @NotNull(message = "是否验证公式",groups = {Update.class})
    private Boolean whetherToVerifyTheFormula;

}
